package UDP;

import java.io.IOException;
import java.net.*;

/*
* UDP协议是一种不可靠的网络协议，它在通信的两端各建立一个Socket对象，但是这两个Socket只是发送接受数据的对象，
* 因此对于UDP协议的通信双方而言，没有所谓的客户端和服务器的概念
* java提供了DatagramSocket类作为基于UDP协议的socket
* 构造方法
* DatagramSocket() 创建数据报套接字，并将其绑定到本机地址上的任何可用端口
* DatagramPacket(byte[] buf,int len,InetAddress add,int port) 创建数据包，发送长度为len的数据包到指定主机的指定端口
* */
/*
* void send(DatagramPacket p) 发送数据报包
* void close() 关闭数据报套接字
* void receive(DatagramPacket p) 从此套接字接收数据报包
* */
public class UDP发送数据 {
    public static void main(String[] args) throws IOException {
        /*创建发送端的Socket对象(DatagramSocket)*/
        /*DatagramSocket() 构建数据报套接字，并将其绑定到本地主机上的任何可用端口*/
        DatagramSocket ds = new DatagramSocket();
        /*创建数据,并把数据打包*/
        /*DatagramPacket(byte[] buf,int length,InetAddress address,int port)*/
        /*构造一个数据包，发送长度为length的数据包到指定主机上的指定端口*/
        byte[] bys="hello,udp,我来了".getBytes();
        DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("127.0.0.1"), 10086);
        /*调用DatagramSocket对象的方法发送数据*/
        ds.send(dp);
        /*关闭发送端，关闭此数据报套接字*/
        ds.close();
    }
}










